winbrew_app\operations\doctor/
mod.rs

1//! Health reporting for installed packages and install roots.
2//!
3//! The doctor workflow provides a single public entry point, [`health_report`],
4//! that gathers database and filesystem diagnostics into a
5//! [`crate::models::domains::reporting::HealthReport`]. The implementation stays split across the
6//! internal helper modules so the report assembly code does not need to know the
7//! details of package scanning, scan timing breakdowns, or diagnostic formatting.
8//!
9//! The pipeline is intentionally narrow:
10//!
11//! - `report` assembles the final report structure and summary counts.
12//! - `scan` is split into `package`, `msi`, `journal`, and `orphan` helpers so recovery policy logic can evolve independently.
13//!
14//! CLI code owns any interactive presentation around the report, including the
15//! spinner and terminal formatting. The app layer only returns structured data.
16
17mod report;
18mod scan;
19
20pub use report::health_report;